import random


def heads_and_tails():
    x = int(input('Выберите сложность (1)(2)(3):'))
    if x == 1:
        print('Пфф легкотня')
        player_lives = 4
        enemy_lives = 2
    elif x == 2:
        print('Среднячек')
        player_lives = 3
        enemy_lives = 3
    elif x == 3:
        print('Только удача вам и поможет')
        player_lives = 2
        enemy_lives = 4
    else:
        print('Такой сложности нет, установлена самая легкая')
        player_lives = 4
        enemy_lives = 2
    L = ["Орел", "Решка"]
    print()
    print(f'Начинается игра в монетку с гоблином (ставка ваши жизни), у вас {player_lives} HP, у гоблина {enemy_lives}',
          '\n')

    while player_lives > 0 and enemy_lives > 0:
        player = input('Орел или Решка?:')
        enemy = random.choice(L)
        if enemy == player:
            print(player, '- Верно')
            enemy_lives -= 1
            print(f'У врага {enemy_lives} HP', '\n')
        else:
            player_lives -= 1
            print(enemy, f', Враг нанес по вам удар, у вас {player_lives} HP', '\n')

    if player_lives == 0:
        print('You are dead')
        print('Гоблин раздавил вас дубиной', '\n')
    else:
        print('Вы одержали победу над гоблином', '\n')


def game(k):
    count_of_heads = 0
    count_of_tails = 0
    for i in range(k):
        heads_or_tails = random.randint(0, 1)
        if heads_or_tails == 0:
            count_of_heads += 1
        else:
            count_of_tails += 1

    print(f'За {k} бросков монетки результат следующий')
    print(f'Решек - {count_of_tails}')
    print(f'Орлов - {count_of_heads}')
    print()
    return count_of_heads


def zero(k):
    for i in range(1000):
        el = game(k)
        if el == 0 or el == k:
            print(f'Только с {i} попытки выпало 0 орлов')
            break
        if i == 999:
            print('Даже за 1000 бросков такого не произошло')
            print()


def choice():
    print("Хотите пойти в подземелье и сыграть в игру с гоблином? (1)", '\n')
    print("Орел и Решка - вероятности? Сколько? (2)", '\n')
    print(
        'Интересно, если бросить монетку 10 раз, может ли выпасть подряд 10 орлов? Или 10 решек? Какие шансы? А больше? (3)',
        '\n')
    print("Выход (0)", '\n')


d = '123'
while d != '0':
    choice()
    d = input('Что выберите?: ')
    print()
    if d == '1':
        heads_and_tails()
    elif d == '2':
        k = int(input('Сколько раз подбросить монетку?: '))
        print()
        game(k)
    elif d == '3':
        k = int(input('Сколько раз подбросить монетку?: '))
        print()
        zero(k)
    elif d == '0':
        print('До свидания')
        break
    else:
        print('Вы ввели что-то не то', '\n', 'Попробуйте еще раз')
        d = input('Продолжить(Y) Выход(0): ')
